#ifndef __win_factory_h__
#define __win_factory_h__

#include "win/cache.h"
#include "win/local.h"
#include "win/embed.h"

namespace win
{
    class Factory
    {
    public:
        Factory()
            : cache_(0) {}

        ~Factory()
        {
            delete cache_;
        }

        Cache* GetCache()
        {
            if (!cache_)
            {
                cache_ = new LocalCache;
            }
            return cache_;
        }

    private:
        Cache * cache_;
    };
}

#endif